lexer grammar InternalUsecases;
@header {
package scerbak.parser.antlr.internal;

// Hack: Use our own Lexer superclass by means of import. 
// Currently there is no other way to specify the superclass for the lexer.
import org.eclipse.xtext.parser.antlr.Lexer;
}

T15 : 'package' ;
T16 : ':' ;
T17 : 'Use Case' ;
T18 : 'Goal:' ;
T19 : 'Scope:' ;
T20 : 'Level:' ;
T21 : 'Primary actor:' ;
T22 : 'Secondary actors:' ;
T23 : 'Stakeholders:' ;
T24 : 'Interests:' ;
T25 : 'Preconditions:' ;
T26 : 'Success guarantees:' ;
T27 : 'Minimal guarantees:' ;
T28 : 'Trigger:' ;
T29 : 'Main success scenario:' ;
T30 : 'Extensions:' ;
T31 : 'Technology and data variants:' ;
T32 : 'Open issues:' ;
T33 : '-' ;
T34 : '.' ;
T35 : ',' ;
T36 : '*' ;
T37 : 'Use case ends with' ;
T38 : 'Use case continues with step' ;
T39 : '?' ;
T40 : '(' ;
T41 : ')' ;
T42 : '/' ;
T43 : 'import' ;
T44 : '.*' ;
T45 : 'business' ;
T46 : 'system' ;
T47 : 'subsystem' ;
T48 : 'black-box' ;
T49 : 'white-box' ;
T50 : 'summary' ;
T51 : 'user-goal' ;
T52 : 'subfunction' ;
T53 : 'success' ;
T54 : 'failure' ;

// $ANTLR src "../scerbak.usecases/src-gen/scerbak/parser/antlr/internal/InternalUsecases.g" 2747
RULE_EMPTY : 'Should be empty!';

// $ANTLR src "../scerbak.usecases/src-gen/scerbak/parser/antlr/internal/InternalUsecases.g" 2749
RULE_CHAR : 'a'..'z';

// $ANTLR src "../scerbak.usecases/src-gen/scerbak/parser/antlr/internal/InternalUsecases.g" 2751
RULE_UPCHAR : 'A'..'Z';

// $ANTLR src "../scerbak.usecases/src-gen/scerbak/parser/antlr/internal/InternalUsecases.g" 2753
RULE_UPID : RULE_UPCHAR RULE_ID;

// $ANTLR src "../scerbak.usecases/src-gen/scerbak/parser/antlr/internal/InternalUsecases.g" 2755
RULE_ID : '^'? ('a'..'z'|'A'..'Z'|'_') ('a'..'z'|'A'..'Z'|'_'|'0'..'9')*;

// $ANTLR src "../scerbak.usecases/src-gen/scerbak/parser/antlr/internal/InternalUsecases.g" 2757
RULE_INT : ('0'..'9')+;

// $ANTLR src "../scerbak.usecases/src-gen/scerbak/parser/antlr/internal/InternalUsecases.g" 2759
RULE_STRING : ('"' ('\\' ('b'|'t'|'n'|'f'|'r'|'"'|'\''|'\\')|~(('\\'|'"')))* '"'|'\'' ('\\' ('b'|'t'|'n'|'f'|'r'|'"'|'\''|'\\')|~(('\\'|'\'')))* '\'');

// $ANTLR src "../scerbak.usecases/src-gen/scerbak/parser/antlr/internal/InternalUsecases.g" 2761
RULE_ML_COMMENT : '/*' ( options {greedy=false;} : . )*'*/';

// $ANTLR src "../scerbak.usecases/src-gen/scerbak/parser/antlr/internal/InternalUsecases.g" 2763
RULE_SL_COMMENT : '//' ~(('\n'|'\r'))* ('\r'? '\n')?;

// $ANTLR src "../scerbak.usecases/src-gen/scerbak/parser/antlr/internal/InternalUsecases.g" 2765
RULE_WS : (' '|'\t'|'\r'|'\n')+;

// $ANTLR src "../scerbak.usecases/src-gen/scerbak/parser/antlr/internal/InternalUsecases.g" 2767
RULE_ANY_OTHER : .;


